Python-разработчик с нуля от Бруноям
Вы научитесь
Программа курса
Программа курса состоит из 11 блоков с углублённым изучением тем. Помимо выполнения итоговых заданий, студентам предстоит после каждого блока выполнять домашние работы с разным уровнем сложности. В течение суток эксперт даёт обратную связь, помогает исправить недочёты, и только после этого задание будет зачтено.
Основы Python
Познакомитесь с комплексом программ интегрированной системы, облегчающей разработку ПО. Узнаете, на каких правилах строится программирование на Python. Изучите фундаментальные элементы, без которых не обходится применение языка Python. Поймёте, как по сценариям и при каких условиях выполняются действия по скриптам в программном обеспечении. Рассмотрите, как изнутри выглядит процесс занесения и извлечения данных из оперативной памяти ПО. Разберётесь в программных единицах, благодаря которым осуществляется хранение взаимосвязанных данных. Узнаете, какие подпрограммы изначально внедрены в язык Python для упрощения программирования. Поймётё, как можно сократить количество кода за счёт использования определённых команд для решения поставленной задачи в разработке. Овладеете функционалом консольной утилиты для сохранения изменений и совместной разработке ПО.
Познакомитесь с комплексом программ интегрированной системы, облегчающей разработку ПО.
Узнаете, на каких правилах строится программирование на Python.
Изучите фундаментальные элементы, без которых не обходится применение языка Python.
Поймёте, как по сценариям и при каких условиях выполняются действия по скриптам в программном обеспечении.
Рассмотрите, как изнутри выглядит процесс занесения и извлечения данных из оперативной памяти ПО.
Разберётесь в программных единицах, благодаря которым осуществляется хранение взаимосвязанных данных.
Узнаете, какие подпрограммы изначально внедрены в язык Python для упрощения программирования.
Поймётё, как можно сократить количество кода за счёт использования определённых команд для решения поставленной задачи в разработке.
Овладеете функционалом консольной утилиты для сохранения изменений и совместной разработке ПО.
ООП
Узнаете, как и для чего было придумано объектно-ориентированное программирование, на чём основаны его принципы. Рассмотрите применение различных сущностей в ООП. Освоите концепцию описания новых классов на основе задействованных ранее. Узнаете, как можно обработать разрозненные данные за счёт одного метода. Разберётесь в механизме по сокрытию кода и особенностей разработки от рядовых пользователей, в том числе за счёт объединения в класс данных и методов для них. Изучите свойство класса по приоритезации наиболее важных черт для конкретной задачи. Поймёте, как взаимосвязаны классы, объекты и элементы в ООП.
Узнаете, как и для чего было придумано объектно-ориентированное программирование, на чём основаны его принципы.
Рассмотрите применение различных сущностей в ООП.
Освоите концепцию описания новых классов на основе задействованных ранее.
Узнаете, как можно обработать разрозненные данные за счёт одного метода.
Разберётесь в механизме по сокрытию кода и особенностей разработки от рядовых пользователей, в том числе за счёт объединения в класс данных и методов для них.
Изучите свойство класса по приоритезации наиболее важных черт для конкретной задачи.
Поймёте, как взаимосвязаны классы, объекты и элементы в ООП.
Структуры данных. Алгоритмы
Разберётесь в методах использования алгоритмов на графах. Познакомитесь с наиболее распространёнными структурами данных. Узнаете, какие бывают и как применяются разные наборы инструкций для реализации определённых действий в программе. Рассмотрите, как выявить число элементарных операций и количество времени, которое требуется для работы того или иного алгоритма.
Разберётесь в методах использования алгоритмов на графах.
Познакомитесь с наиболее распространёнными структурами данных.
Узнаете, какие бывают и как применяются разные наборы инструкций для реализации определённых действий в программе.
Рассмотрите, как выявить число элементарных операций и количество времени, которое требуется для работы того или иного алгоритма.
Обработка исключений. Паттерны проектирования
Узнаете, что из себя представляет непредвиденное поведение в работе ПО. Рассмотрите разные случаи появления лагов и неожиданных состояний при работе программ. Изучите, как происходит обработка исключений в языке Python. Разберётесь в категориях типичных классов для исключений. Познакомитесь с азами работы с шаблонными архитектурными конструкциями. Узнаете, как используются и применяются структурные шаблоны для работы с функциями и объектами.
Узнаете, что из себя представляет непредвиденное поведение в работе ПО.
Рассмотрите разные случаи появления лагов и неожиданных состояний при работе программ.
Изучите, как происходит обработка исключений в языке Python.
Разберётесь в категориях типичных классов для исключений.
Познакомитесь с азами работы с шаблонными архитектурными конструкциями.
Узнаете, как используются и применяются структурные шаблоны для работы с функциями и объектами.
Процессы и потоки
Разберётесь, в чём суть и разница между абстракциями и сущностями, связанными с выполнением программного кода. Узнаете об основах создания кода для параллельного выполнения нескольких задач в программах. Изучите библиотеку для работы с потоками и пакет для порождения процессов. Поймётё, что из себя представляет глобальная блокировка интерпретатора в Python. Познакомитесь с инструментами, которые обеспечивают синхронизацию потоков. Овладеете концепцией программирования, при использовании которой проведение более длительных операций не задерживает последующее выполнение программы.
Разберётесь, в чём суть и разница между абстракциями и сущностями, связанными с выполнением программного кода.
Узнаете об основах создания кода для параллельного выполнения нескольких задач в программах.
Изучите библиотеку для работы с потоками и пакет для порождения процессов.
Поймётё, что из себя представляет глобальная блокировка интерпретатора в Python.
Познакомитесь с инструментами, которые обеспечивают синхронизацию потоков.
Овладеете концепцией программирования, при использовании которой проведение более длительных операций не задерживает последующее выполнение программы.
Сети. Передача данных
Узнаете, как можно трансформировать объекты в нужные форматы с возможностью восстановления до первоначального вида. Познакомитесь со специализированным модулем Python для преобразования объектов и их передачи. Изучите текстовый формат для обмена данными и протокол, который кодирует сообщения на основе этого формата. Освоите работу с языком и форматом для сериализации данных. Разберётесь, как работает обмен данными между разными сетевыми устройствами. Поймёте, в чём отличия между разными типами сетевых соединений. Рассмотрите, каким образом организовываются основные наборы разноуровневых протоколов для соединения устройств в сети. Познакомитесь со строением сетевой архитектуры, где взаимодействие распределено между поставщиками и заказчиками услуг. Потренируетесь в создании несложного приложения с использованием серверов БД. Изучите наборы правил и протоколы для работы с распределёнными средами и ПО.
Узнаете, как можно трансформировать объекты в нужные форматы с возможностью восстановления до первоначального вида.
Познакомитесь со специализированным модулем Python для преобразования объектов и их передачи.
Изучите текстовый формат для обмена данными и протокол, который кодирует сообщения на основе этого формата.
Освоите работу с языком и форматом для сериализации данных.
Разберётесь, как работает обмен данными между разными сетевыми устройствами.
Поймёте, в чём отличия между разными типами сетевых соединений.
Рассмотрите, каким образом организовываются основные наборы разноуровневых протоколов для соединения устройств в сети.
Познакомитесь со строением сетевой архитектуры, где взаимодействие распределено между поставщиками и заказчиками услуг.
Потренируетесь в создании несложного приложения с использованием серверов БД.
Изучите наборы правил и протоколы для работы с распределёнными средами и ПО.
Фреймворк Django
Познакомитесь с азами применения свободного фреймворка для приложений на Python. Поймёте, как происходит организация кода для обеспечения возможности независимого изменения отдельных компонентов в приложении. Узнаете, как с помощью Django сделать фундамент для сайта. Разберётесь, как формируются URL для страниц, происходит переработка запросов и другие операции при помощи Django. Рассмотрите, за что отвечают модели в Python и как за счёт Django можно управлять данными. Освоите панель администратора для работы с моделями БД с помощью веб-интерфейса. Узнаете, как можно выводить информацию на сайте, в том числе из сторонних источников. Овладеете инструментами по реализации домашней страницы сайта. Воспользуетесь фреймворком для облегчения процесса вёрстки веб-страниц. Поймёте, как можно оперативно создать HTML-виджеты или поля на сайте для сбора пользовательских данных. Научитесь пользоваться системой аутентификации и проверки введённых данных для пользовательского доступа к сайту. Разберётесь, как работать с JS-скриптами, CSS-стилями, изображениями и без проблем загружать их на сайт. Овладеете работой с логикой сайта и приложениями в качестве одних из основных частей сайта. Обучитесь проведению проверки качества функционирования ПО на Django. Узнаете, как произвести развёртывание приложения или сайта на сервере.
Познакомитесь с азами применения свободного фреймворка для приложений на Python.
Поймёте, как происходит организация кода для обеспечения возможности независимого изменения отдельных компонентов в приложении.
Узнаете, как с помощью Django сделать фундамент для сайта.
Разберётесь, как формируются URL для страниц, происходит переработка запросов и другие операции при помощи Django.
Рассмотрите, за что отвечают модели в Python и как за счёт Django можно управлять данными.
Освоите панель администратора для работы с моделями БД с помощью веб-интерфейса.
Узнаете, как можно выводить информацию на сайте, в том числе из сторонних источников.
Овладеете инструментами по реализации домашней страницы сайта.
Воспользуетесь фреймворком для облегчения процесса вёрстки веб-страниц.
Поймёте, как можно оперативно создать HTML-виджеты или поля на сайте для сбора пользовательских данных.
Научитесь пользоваться системой аутентификации и проверки введённых данных для пользовательского доступа к сайту.
Разберётесь, как работать с JS-скриптами, CSS-стилями, изображениями и без проблем загружать их на сайт.
Овладеете работой с логикой сайта и приложениями в качестве одних из основных частей сайта.
Обучитесь проведению проверки качества функционирования ПО на Django.
Узнаете, как произвести развёртывание приложения или сайта на сервере.
Базы данных. SQL
Поймёте, как устроены БД и в чём их существенная роль при создании программ, сайтов или приложений. Разберётесь, как применять специализированный язык для работы с реляционными БД и СУБД. Познакомитесь с классификацией и разницей между разными типами БД. Узнаете, на что способны функционально БД на данный момент применительно к разработке ПО. Изучите особенности внедрения и применения БД для веб-приложений. Освоите совместное использование языка SQL, известного Python-фреймворка и его встроенных баз данных. Разберётесь, что такое представления в Python и как их используют в разработке приложений.
Поймёте, как устроены БД и в чём их существенная роль при создании программ, сайтов или приложений.
Разберётесь, как применять специализированный язык для работы с реляционными БД и СУБД.
Познакомитесь с классификацией и разницей между разными типами БД.
Узнаете, на что способны функционально БД на данный момент применительно к разработке ПО.
Изучите особенности внедрения и применения БД для веб-приложений.
Освоите совместное использование языка SQL, известного Python-фреймворка и его встроенных баз данных.
Разберётесь, что такое представления в Python и как их используют в разработке приложений.
Регулярные выражения
Рассмотрите, что из себя представляет формальный язык для работы с текстами. Узнаете, какие символы и каким образом представлены в регулярных выражениях. Разберётесь, в каких ситуациях применяют регулярки. Потренируетесь на практике применить полученные знания по проведению манипуляций с текстом.
Рассмотрите, что из себя представляет формальный язык для работы с текстами.
Узнаете, какие символы и каким образом представлены в регулярных выражениях.
Разберётесь, в каких ситуациях применяют регулярки.
Потренируетесь на практике применить полученные знания по проведению манипуляций с текстом.
Unit-тестирование. Pytest
Поймёте, на чём основано модульное тестирование в программировании. Научитесь пользоваться платформой на Python для проведения проверки ПО.
Поймёте, на чём основано модульное тестирование в программировании.
Научитесь пользоваться платформой на Python для проведения проверки ПО.
Процесс разработки ПО
Познакомитесь с гибкими методологиями для облегчения разработки крупных проектов, системного управления задачами. Рассмотрите на практике применение подходов и принципов для гибкой реализации проектов. Разберётесь, как эффективно распределять ответственность и задачи в коллективной разработке ПО. Изучите возможности организации и оптимизации бизнес-процессов в компании.
Познакомитесь с гибкими методологиями для облегчения разработки крупных проектов, системного управления задачами.
Рассмотрите на практике применение подходов и принципов для гибкой реализации проектов.
Разберётесь, как эффективно распределять ответственность и задачи в коллективной разработке ПО.
Изучите возможности организации и оптимизации бизнес-процессов в компании.
Проект #1. Создание интернет-магазина
Создадите веб-сайт с CMS для редактирования админами товаров, возможностями регистрации для покупателей, выбора разноплановых товаров, сохранения истории заказов и оформления покупок в корзине.
Проект #2. Блог
Выполните задание по реализации ресурса для ведения блогов и размещения постов с возможностью комментирования и поиска статей по тегам и словам и из текста.
Проект #3. Telegram-бот
Сделаете бота для соцсети Telegram, который помогает переводить и учить новые иностранные слова, а также хранить список пройденного материала.